// Decompiled by Jad v1.5.8e. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://www.geocities.com/kpdus/jad.html
// Decompiler options: braces fieldsfirst space lnc
package org.achartengine;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Rect;
import android.graphics.RectF;
import android.os.Handler;
import android.view.MotionEvent;
import android.view.View;
import org.achartengine.chart.AbstractChart;
import org.achartengine.chart.RoundChart;
import org.achartengine.chart.XYChart;
import org.achartengine.model.Point;
import org.achartengine.model.SeriesSelection;
import org.achartengine.renderer.DefaultRenderer;
import org.achartengine.renderer.XYMultipleSeriesRenderer;
import org.achartengine.tools.FitZoom;
import org.achartengine.tools.PanListener;
import org.achartengine.tools.Zoom;
import org.achartengine.tools.ZoomListener;
// Referenced classes of package org.achartengine:
// TouchHandlerOld, TouchHandler, ITouchHandler, a,
// b
public class GraphicalView extends View
{
private static final int j = Color.argb(175, 150, 150, 150);
private AbstractChart a;
private DefaultRenderer b;
private Rect c;
private Handler d;
private RectF e;
private Bitmap f;
private Bitmap g;
private Bitmap h;
private int i;
private Zoom k;
private Zoom l;
private FitZoom m;
private Paint n;
private ITouchHandler o;
private float p;
private float q;
private boolean r;
public GraphicalView(Context context, AbstractChart abstractchart)
{
int i1;
super(context);
c = new Rect();
e = new RectF();
i = 50;
n = new Paint();
a = abstractchart;
d = new Handler();
int j1;
if (a instanceof XYChart)
{
b = ((XYChart)a).getRenderer();
} else
{
b = ((RoundChart)a).getRenderer();
}
if (b.isZoomButtonsVisible())
{
f = BitmapFactory.decodeStream(org/achartengine/GraphicalView.getResourceAsStream("image/zoom_in.png"));
g = BitmapFactory.decodeStream(org/achartengine/GraphicalView.getResourceAsStream("image/zoom_out.png"));
h = BitmapFactory.decodeStream(org/achartengine/GraphicalView.getResourceAsStream("image/zoom-1.png"));
}
if ((b instanceof XYMultipleSeriesRenderer) && ((XYMultipleSeriesRenderer)b).getMarginsColor() == 0)
{
((XYMultipleSeriesRenderer)b).setMarginsColor(n.getColor());
}
if (b.isZoomEnabled() && b.isZoomButtonsVisible() || b.isExternalZoomEnabled())
{
k = new Zoom(a, true, b.getZoomRate());
l = new Zoom(a, false, b.getZoomRate());
m = new FitZoom(a);
}
j1 = Integer.valueOf(android.os.Build.VERSION.SDK).intValue();
i1 = j1;
_L1:
Exception exception;
if (i1 < 7)
{
o = new TouchHandlerOld(this, a);
return;
} else
{
o = new TouchHandler(this, a);
return;
}
exception;
i1 = 7;
goto _L1
}
public void addPanListener(PanListener panlistener)
{
o.addPanListener(panlistener);
}
public void addZoomListener(ZoomListener zoomlistener, boolean flag, boolean flag1)
{
if (flag)
{
if (k != null)
{
k.addZoomListener(zoomlistener);
l.addZoomListener(zoomlistener);
}
if (flag1)
{
o.addZoomListener(zoomlistener);
}
}
}
public SeriesSelection getCurrentSeriesAndPoint()
{
return a.getSeriesAndPointForScreenCoordinate(new Point(p, q));
}
protected RectF getZoomRectangle()
{
return e;
}
protected void onDraw(Canvas canvas)
{
int i1 = 0;
super.onDraw(canvas);
canvas.getClipBounds(c);
int j1 = c.top;
int k1 = c.left;
int l1 = c.width();
int i2 = c.height();
if (b.isInScroll())
{
l1 = getMeasuredWidth();
i2 = getMeasuredHeight();
j1 = 0;
} else
{
i1 = k1;
}
a.draw(canvas, i1, j1, l1, i2, n);
if (b != null && b.isZoomEnabled() && b.isZoomButtonsVisible())
{
n.setColor(j);
i = Math.max(i, Math.min(l1, i2) / 7);
e.set((i1 + l1) - 3 * i, (float)(j1 + i2) - 0.775F * (float)i, i1 + l1, j1 + i2);
canvas.drawRoundRect(e, i / 3, i / 3, n);
float f1 = (float)(j1 + i2) - 0.625F * (float)i;
canvas.drawBitmap(f, (float)(i1 + l1) - 2.75F * (float)i, f1, null);
canvas.drawBitmap(g, (float)(i1 + l1) - 1.75F * (float)i, f1, null);
canvas.drawBitmap(h, (float)(i1 + l1) - 0.75F * (float)i, f1, null);
}
r = true;
}
public boolean onTouchEvent(MotionEvent motionevent)
{
if (motionevent.getAction() == 0)
{
p = motionevent.getX();
q = motionevent.getY();
}
if (b != null && r && (b.isPanEnabled() || b.isZoomEnabled()) && o.handleTouch(motionevent))
{
return true;
} else
{
return super.onTouchEvent(motionevent);
}
}
public void removePanListener(PanListener panlistener)
{
o.removePanListener(panlistener);
}
public void removeZoomListener(ZoomListener zoomlistener)
{
this;
JVM INSTR monitorenter ;
if (k != null)
{
k.removeZoomListener(zoomlistener);
l.removeZoomListener(zoomlistener);
}
o.removeZoomListener(zoomlistener);
this;
JVM INSTR monitorexit ;
return;
Exception exception;
exception;
throw exception;
}
public void repaint()
{
d.post(new a(this));
}
public void repaint(int i1, int j1, int k1, int l1)
{
d.post(new b(this, i1, j1, k1, l1));
}
public void setZoomRate(float f1)
{
if (k != null && l != null)
{
k.setZoomRate(f1);
l.setZoomRate(f1);
}
}
public Bitmap toBitmap()
{
setDrawingCacheEnabled(false);
if (!isDrawingCacheEnabled())
{
setDrawingCacheEnabled(true);
}
if (b.isApplyBackgroundColor())
{
setDrawingCacheBackgroundColor(b.getBackgroundColor());
}
setDrawingCacheQuality(0x100000);
return getDrawingCache(true);
}
public double[] toRealPoint(int i1)
{
if (a instanceof XYChart)
{
return ((XYChart)a).toRealPoint(p, q, i1);
} else
{
return null;
}
}
public void zoomIn()
{
if (k != null)
{
k.apply(0);
repaint();
}
}
public void zoomOut()
{
if (l != null)
{
l.apply(0);
repaint();
}
}
public void zoomReset()
{
if (m != null)
{
m.apply();
k.notifyZoomResetListeners();
repaint();
}
}
}